package com.dm.learn.java.date;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * 日期转换工具类
 */
public class DateUtil {
	/**
	 * 将日期格式转换成yyyy-MM-dd的字符串格式 返回值如：2010-10-06
	 * 
	 * @param time
	 *            要转换的日期
	 * @return
	 */
	public static String dateToString(Date time) {

		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); // 定义将日期格式要换成的格式
		String stringTime = formatter.format(time);

		return stringTime;

	}

	/**
	 * 将日期格式转换成yyyyMMdd的字符串格式 返回值如：2010-10-06
	 * 
	 * @param time
	 *            要转换的日期
	 * @return
	 */
	public static String dateTimeToString(Date time) {

		SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd"); // 定义将日期格式要换成的格式
		String stringTime = formatter.format(time);

		return stringTime;

	}

	/**
	 * 将日期格式转换成yyyy-MM-dd的字符串格式 返回值如：2010-10-06
	 * 
	 * @param time
	 *            要转换的日期
	 * @return
	 */
	public static Date dateToDate(Date time) {

		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); // 定义将日期格式要换成的格式
		String stringTime = formatter.format(time);
		Date date = null;
		try {
			date = formatter.parse(stringTime);
		} catch (ParseException e) {
			e.printStackTrace();
		}
		return date;

	}

	/**
	 * 得到当前时间，以字符串表示
	 * 
	 * @return
	 */
	public static String getDate() {
		Date date = new Date();
		return DateUtil.dateToString(date);
	}

	/**
	 * 
	 * @Description: 比较两个日期
	 * @param d1
	 * @param d2
	 * @return int
	 * @throws
	 */
	public static int compareTwoDate(Date d1, Date d2) {
		Calendar c1 = Calendar.getInstance();
		c1.setTime(d1);
		Calendar c2 = Calendar.getInstance();
		c2.setTime(d2);
		return c1.compareTo(c2);
	}

	public static void main(String[] args) {
		try {
			Date d1 = new Date();
////			Thread.sleep(1000);
//			Date d2 = null;
//			System.out.println(compareTwoDate(d2, d1));
//			
			System.out.println(d1.getTime());
			
			System.out.println(d1.getTime()+2*24*3600*1000);//1439189112386
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}
